WAP security functionality includes the Wireless Transport Layer Security (WAPWTLS) and application level security, accessible using Wireless Markup Language Script (WMLScript). For optimum security, some parts of the security functionality need to be performed by a tamper-resistant device, so that an attacker cannot retrieve sensitive data. Such data is especially the permanent private keys used in WTLS handshake with client authentication, and for making application level electronic signatures (such as confirming an application level transaction). In WTLS, also master keys (master secrets) are relatively long living—which could be several days—this is in order to avoid frequent full handshakes where are quite heavy both computationally and due to relatively large data transfer. Master secrets are used as a source of entropy, to calculate MAC keys and message encryption keys which are used to secure a limited number of messages, depending on usage of WTLS.
U.S. Pat. No. 5,307,411 describes the set up of a secure communication session between two communication units, such as phones or facsimile machines. The secure session is controlled by separate smart cards based verification units associated with a respective one of the communication units. These two verification units exchange random numbers, encrypt these numbers by using private keys, and return the encrypted numbers to their origin. Then the encrypted random numbers are decrypted based on public keys. If the received numbers correspond to the transmitted numbers, the parties verify each other and the secure session may take place. However, this requires that both communication units are provided with a smart card reader, which is not a necessary requirement in a server, like e.g. an Internet server. Thus, this document is quite restricting for the user, since it requires that both parties have a smart card reader, and is less suitable for communication between a wireless communication apparatus and a data communication apparatus. Also, every time a session is going to be established between the two communication apparatuses, an exchange of keys must be done.
Also, U.S. Pat. No. 5,371,794, by Sun Microsystems, discloses a way to providing a secure wireless communication link between a mobile nomadic device and a base computing unit. The mobile device sends a host certificate to the base along with a randomly chosen challenge value (CH1) and a list of supported shared key algorithms. The base sends a random number (RN1) encrypted in the mobile's public key and an identifier for the chosen algorithm back to the mobile. The base saves the RN1 value and adds the CH1 value and the chosen algorithm to the mobile. The mobile verifies the public key of the base the signature on the message. When the public key is verified, the mobile determines the value of the RN1 by decrypting the public key under the private key of the mobile. The mobile then generates RN2 and a session key, and encrypts RN2 under the public key of the base to the base. The base verifies and decrypts the RN2, and determines the session key. Finally, the mobile and the base can enter a data transfer phase using encrypted data which is decrypted using the session key which is RN1+RN2. The values of RN1 and RN2 are always derived from the last key exchange, which may be from the initial connection setup or from the last key change message, whichever is more recent. This means that each time a data transfer is made, two new numbers are generated based on RN1 and RN2, which will make the data transfer quite slow. Thus, as in U.S. Pat. No. 5,307,411, every time a session is going to be established between the two apparatuses, in this case the mobile nomadic device and the base computing unit, an exchange of keys must be done.